package com.jc.domain.toy;

import com.jc.repository.domain.CanonicalDomain;
import java.io.Serializable;
import java.util.Date;

public class ToyElementInfo extends CanonicalDomain<Long> implements Serializable {
    private Long id;

    private String elementNameCh;

    private String elementNameEn;

    private String design;

    private String catgoryFirstId;

    private String catgorySecondId;

    private String catgoryDesc;

    private Byte spec1;

    private Byte spec2;

    private Byte spec3;

    private Byte spec4;

    private Integer released;

    private String colourId;

    private String colourDesc;

    private String colourRgb;

    private String colourType;

    private String legoColourId;

    private String brickLinkName;

    private Date createdAt;

    private Date updatedAt;

    private String remarks;

    private static final long serialVersionUID = 1L;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getElementNameCh() {
        return elementNameCh;
    }

    public void setElementNameCh(String elementNameCh) {
        this.elementNameCh = elementNameCh;
    }

    public String getElementNameEn() {
        return elementNameEn;
    }

    public void setElementNameEn(String elementNameEn) {
        this.elementNameEn = elementNameEn;
    }

    public String getDesign() {
        return design;
    }

    public void setDesign(String design) {
        this.design = design;
    }

    public String getCatgoryFirstId() {
        return catgoryFirstId;
    }

    public void setCatgoryFirstId(String catgoryFirstId) {
        this.catgoryFirstId = catgoryFirstId;
    }

    public String getCatgorySecondId() {
        return catgorySecondId;
    }

    public void setCatgorySecondId(String catgorySecondId) {
        this.catgorySecondId = catgorySecondId;
    }

    public String getCatgoryDesc() {
        return catgoryDesc;
    }

    public void setCatgoryDesc(String catgoryDesc) {
        this.catgoryDesc = catgoryDesc;
    }

    public Byte getSpec1() {
        return spec1;
    }

    public void setSpec1(Byte spec1) {
        this.spec1 = spec1;
    }

    public Byte getSpec2() {
        return spec2;
    }

    public void setSpec2(Byte spec2) {
        this.spec2 = spec2;
    }

    public Byte getSpec3() {
        return spec3;
    }

    public void setSpec3(Byte spec3) {
        this.spec3 = spec3;
    }

    public Byte getSpec4() {
        return spec4;
    }

    public void setSpec4(Byte spec4) {
        this.spec4 = spec4;
    }

    public Integer getReleased() {
        return released;
    }

    public void setReleased(Integer released) {
        this.released = released;
    }

    public String getColourId() {
        return colourId;
    }

    public void setColourId(String colourId) {
        this.colourId = colourId;
    }

    public String getColourDesc() {
        return colourDesc;
    }

    public void setColourDesc(String colourDesc) {
        this.colourDesc = colourDesc;
    }

    public String getColourRgb() {
        return colourRgb;
    }

    public void setColourRgb(String colourRgb) {
        this.colourRgb = colourRgb;
    }

    public String getColourType() {
        return colourType;
    }

    public void setColourType(String colourType) {
        this.colourType = colourType;
    }

    public String getLegoColourId() {
        return legoColourId;
    }

    public void setLegoColourId(String legoColourId) {
        this.legoColourId = legoColourId;
    }

    public String getBrickLinkName() {
        return brickLinkName;
    }

    public void setBrickLinkName(String brickLinkName) {
        this.brickLinkName = brickLinkName;
    }

    public Date getCreatedAt() {
        return createdAt;
    }

    public void setCreatedAt(Date createdAt) {
        this.createdAt = createdAt;
    }

    public Date getUpdatedAt() {
        return updatedAt;
    }

    public void setUpdatedAt(Date updatedAt) {
        this.updatedAt = updatedAt;
    }

    public String getRemarks() {
        return remarks;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        ToyElementInfo other = (ToyElementInfo) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getElementNameCh() == null ? other.getElementNameCh() == null : this.getElementNameCh().equals(other.getElementNameCh()))
            && (this.getElementNameEn() == null ? other.getElementNameEn() == null : this.getElementNameEn().equals(other.getElementNameEn()))
            && (this.getDesign() == null ? other.getDesign() == null : this.getDesign().equals(other.getDesign()))
            && (this.getCatgoryFirstId() == null ? other.getCatgoryFirstId() == null : this.getCatgoryFirstId().equals(other.getCatgoryFirstId()))
            && (this.getCatgorySecondId() == null ? other.getCatgorySecondId() == null : this.getCatgorySecondId().equals(other.getCatgorySecondId()))
            && (this.getCatgoryDesc() == null ? other.getCatgoryDesc() == null : this.getCatgoryDesc().equals(other.getCatgoryDesc()))
            && (this.getSpec1() == null ? other.getSpec1() == null : this.getSpec1().equals(other.getSpec1()))
            && (this.getSpec2() == null ? other.getSpec2() == null : this.getSpec2().equals(other.getSpec2()))
            && (this.getSpec3() == null ? other.getSpec3() == null : this.getSpec3().equals(other.getSpec3()))
            && (this.getSpec4() == null ? other.getSpec4() == null : this.getSpec4().equals(other.getSpec4()))
            && (this.getReleased() == null ? other.getReleased() == null : this.getReleased().equals(other.getReleased()))
            && (this.getColourId() == null ? other.getColourId() == null : this.getColourId().equals(other.getColourId()))
            && (this.getColourDesc() == null ? other.getColourDesc() == null : this.getColourDesc().equals(other.getColourDesc()))
            && (this.getColourRgb() == null ? other.getColourRgb() == null : this.getColourRgb().equals(other.getColourRgb()))
            && (this.getColourType() == null ? other.getColourType() == null : this.getColourType().equals(other.getColourType()))
            && (this.getLegoColourId() == null ? other.getLegoColourId() == null : this.getLegoColourId().equals(other.getLegoColourId()))
            && (this.getBrickLinkName() == null ? other.getBrickLinkName() == null : this.getBrickLinkName().equals(other.getBrickLinkName()))
            && (this.getCreatedAt() == null ? other.getCreatedAt() == null : this.getCreatedAt().equals(other.getCreatedAt()))
            && (this.getUpdatedAt() == null ? other.getUpdatedAt() == null : this.getUpdatedAt().equals(other.getUpdatedAt()))
            && (this.getRemarks() == null ? other.getRemarks() == null : this.getRemarks().equals(other.getRemarks()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getElementNameCh() == null) ? 0 : getElementNameCh().hashCode());
        result = prime * result + ((getElementNameEn() == null) ? 0 : getElementNameEn().hashCode());
        result = prime * result + ((getDesign() == null) ? 0 : getDesign().hashCode());
        result = prime * result + ((getCatgoryFirstId() == null) ? 0 : getCatgoryFirstId().hashCode());
        result = prime * result + ((getCatgorySecondId() == null) ? 0 : getCatgorySecondId().hashCode());
        result = prime * result + ((getCatgoryDesc() == null) ? 0 : getCatgoryDesc().hashCode());
        result = prime * result + ((getSpec1() == null) ? 0 : getSpec1().hashCode());
        result = prime * result + ((getSpec2() == null) ? 0 : getSpec2().hashCode());
        result = prime * result + ((getSpec3() == null) ? 0 : getSpec3().hashCode());
        result = prime * result + ((getSpec4() == null) ? 0 : getSpec4().hashCode());
        result = prime * result + ((getReleased() == null) ? 0 : getReleased().hashCode());
        result = prime * result + ((getColourId() == null) ? 0 : getColourId().hashCode());
        result = prime * result + ((getColourDesc() == null) ? 0 : getColourDesc().hashCode());
        result = prime * result + ((getColourRgb() == null) ? 0 : getColourRgb().hashCode());
        result = prime * result + ((getColourType() == null) ? 0 : getColourType().hashCode());
        result = prime * result + ((getLegoColourId() == null) ? 0 : getLegoColourId().hashCode());
        result = prime * result + ((getBrickLinkName() == null) ? 0 : getBrickLinkName().hashCode());
        result = prime * result + ((getCreatedAt() == null) ? 0 : getCreatedAt().hashCode());
        result = prime * result + ((getUpdatedAt() == null) ? 0 : getUpdatedAt().hashCode());
        result = prime * result + ((getRemarks() == null) ? 0 : getRemarks().hashCode());
        return result;
    }

    public ToyElementInfo id(Long value) {
        this.id = value;
        return this;
    }

    public ToyElementInfo elementNameCh(String value) {
        this.elementNameCh = value;
        return this;
    }

    public ToyElementInfo elementNameEn(String value) {
        this.elementNameEn = value;
        return this;
    }

    public ToyElementInfo design(String value) {
        this.design = value;
        return this;
    }

    public ToyElementInfo catgoryFirstId(String value) {
        this.catgoryFirstId = value;
        return this;
    }

    public ToyElementInfo catgorySecondId(String value) {
        this.catgorySecondId = value;
        return this;
    }

    public ToyElementInfo catgoryDesc(String value) {
        this.catgoryDesc = value;
        return this;
    }

    public ToyElementInfo spec1(Byte value) {
        this.spec1 = value;
        return this;
    }

    public ToyElementInfo spec2(Byte value) {
        this.spec2 = value;
        return this;
    }

    public ToyElementInfo spec3(Byte value) {
        this.spec3 = value;
        return this;
    }

    public ToyElementInfo spec4(Byte value) {
        this.spec4 = value;
        return this;
    }

    public ToyElementInfo released(Integer value) {
        this.released = value;
        return this;
    }

    public ToyElementInfo colourId(String value) {
        this.colourId = value;
        return this;
    }

    public ToyElementInfo colourDesc(String value) {
        this.colourDesc = value;
        return this;
    }

    public ToyElementInfo colourRgb(String value) {
        this.colourRgb = value;
        return this;
    }

    public ToyElementInfo colourType(String value) {
        this.colourType = value;
        return this;
    }

    public ToyElementInfo legoColourId(String value) {
        this.legoColourId = value;
        return this;
    }

    public ToyElementInfo brickLinkName(String value) {
        this.brickLinkName = value;
        return this;
    }

    public ToyElementInfo createdAt(Date value) {
        this.createdAt = value;
        return this;
    }

    public ToyElementInfo updatedAt(Date value) {
        this.updatedAt = value;
        return this;
    }

    public ToyElementInfo remarks(String value) {
        this.remarks = value;
        return this;
    }
}